package com.rede.didiok.user.modulelist.pay.model.vo;

import java.math.BigDecimal;
import java.util.Date;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.rede.didiok.common.enums.PayMethodEnum;
import com.rede.didiok.common.enums.ResourceTypeEnum;


@ApiModel(description = "下单参数")
@Data
public class BuyVO {

    @ApiModelProperty(name = "client", value = "客户端类型PC,WAP,NATIVE,REACT,MINI")
    private String client;

    @ApiModelProperty(name = "resourceUid", value = "资源uid")
    private String resourceUid;

    @ApiModelProperty(name = "resourceType", value = "资源类型")
    private ResourceTypeEnum resourceType;

    @ApiModelProperty(name = "payMethod", value = "支付类型")
    private PayMethodEnum payMethod;

    /**
     * RankMember唯一oid【自动递增】
     */
    private Integer resourceOid;

    /**
     * 报名人员姓名
     */
    private String applyUserName;
    /**
     * 报名人员个数
     */
    private Integer applyUserNum;
    /**
     * 身份证号
     */
    private String idCard;
    /**
     * 性别(1:男2:女)
     */
    private String gender;
    /**
     * 手机号
     */
    private String phone;
    /**
     * 微信号
     */
    private String weChat;
    /**
     * 年龄
     */
    private Integer age;
    /**
     * 备注
     */
    private String remark;

    /**
     * 商品价格（单位元）
     */
    private BigDecimal price;
    /**
     * 人数上限
     */
    private Integer allowPeopleNum;
    /**
     * 领队人数上限
     */
    private Integer allowLeaderNum;
    /**
     * 报名截止时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date applyEndTime;
    /**
     * 报名截止时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date leaderApplyEndTime;
    /**
     * 活动结束时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    /**
     * 报名类型(1玩家报名 2领队报名)
     */
    private Integer applyType;

    /**
     * 回跳地址，支付成功后用户点击【返回商户网站】跳转到该地址，跳转不会携带任何参数，如需携带参数请自行拼接。
     * 示例值：https://www.weixin.qq.com/
     */
    private String returnUrl;
}
